/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gmovil_jpa.entidades;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author castlerock
 */
@Entity
@Table(name = "tipo_operacion_comercial")
@NamedQueries({
    @NamedQuery(name = "TipoOperacionComercial.findAll", query = "SELECT t FROM TipoOperacionComercial t"),
    @NamedQuery(name = "TipoOperacionComercial.findByIdTipoOperacionComercial", query = "SELECT t FROM TipoOperacionComercial t WHERE t.idTipoOperacionComercial = :idTipoOperacionComercial"),
    @NamedQuery(name = "TipoOperacionComercial.findByTipoOperacionComercial", query = "SELECT t FROM TipoOperacionComercial t WHERE t.tipoOperacionComercial = :tipoOperacionComercial"),
    @NamedQuery(name = "TipoOperacionComercial.findByObservacion", query = "SELECT t FROM TipoOperacionComercial t WHERE t.observacion = :observacion")})
public class TipoOperacionComercial implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id_tipo_operacion_comercial")
    private Integer idTipoOperacionComercial;
    @Basic(optional = false)
    @Column(name = "tipo_operacion_comercial")
    private String tipoOperacionComercial;
    @Column(name = "observacion")
    private String observacion;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "tipoOperacionComercial")
    private List<DetalleFacturaArticulo> detalleFacturaArticuloList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "tipoOperacionComercial")
    private List<DetalleFacturaPlan> detalleFacturaPlanList;

    public TipoOperacionComercial() {
    }

    public TipoOperacionComercial(Integer idTipoOperacionComercial) {
        this.idTipoOperacionComercial = idTipoOperacionComercial;
    }

    public TipoOperacionComercial(Integer idTipoOperacionComercial, String tipoOperacionComercial) {
        this.idTipoOperacionComercial = idTipoOperacionComercial;
        this.tipoOperacionComercial = tipoOperacionComercial;
    }

    public Integer getIdTipoOperacionComercial() {
        return idTipoOperacionComercial;
    }

    public void setIdTipoOperacionComercial(Integer idTipoOperacionComercial) {
        this.idTipoOperacionComercial = idTipoOperacionComercial;
    }

    public String getTipoOperacionComercial() {
        return tipoOperacionComercial;
    }

    public void setTipoOperacionComercial(String tipoOperacionComercial) {
        this.tipoOperacionComercial = tipoOperacionComercial;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public List<DetalleFacturaArticulo> getDetalleFacturaArticuloList() {
        return detalleFacturaArticuloList;
    }

    public void setDetalleFacturaArticuloList(List<DetalleFacturaArticulo> detalleFacturaArticuloList) {
        this.detalleFacturaArticuloList = detalleFacturaArticuloList;
    }

    public List<DetalleFacturaPlan> getDetalleFacturaPlanList() {
        return detalleFacturaPlanList;
    }

    public void setDetalleFacturaPlanList(List<DetalleFacturaPlan> detalleFacturaPlanList) {
        this.detalleFacturaPlanList = detalleFacturaPlanList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idTipoOperacionComercial != null ? idTipoOperacionComercial.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TipoOperacionComercial)) {
            return false;
        }
        TipoOperacionComercial other = (TipoOperacionComercial) object;
        if ((this.idTipoOperacionComercial == null && other.idTipoOperacionComercial != null) || (this.idTipoOperacionComercial != null && !this.idTipoOperacionComercial.equals(other.idTipoOperacionComercial))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "gmovil_jpa.entidades.TipoOperacionComercial[idTipoOperacionComercial=" + idTipoOperacionComercial + "]";
    }

}
